import request from "@/utils/request"

export enum OccupyOrderStatus {
  占用中 = 1,
  '占用结束(待支付)' = 2,
  '占用结束(已支付)' = 3,
}

export enum OccupyOrderInfoType {
  企业充电 = 1,
  个人充电 = 2,
}

export enum OccupyOrderPayType {
  企业余额 = 1,
  个人余额 = 2 | 3 | 4,
}

export interface QueryOccupyOrderListParams extends PaginationParams {
  /** 订单号 */
  id?: string
  status?: OccupyOrderStatus
  stationId?: string
  stubId?: string
  infoType?: OccupyOrderInfoType
  telephone?: string
  /** 开始充电时间 */
  beginTime?: string
  /** 结束充电时间 */
  endTime?: string
}

export interface OccupyOrder {
  /** 收费时长(分钟) */
  totalTime: number
  /** 开始充电时间 */
  chargeBeginTime: string
  /** 结束充电时间 */
  chargeEndTime: string
  /** 开始占用时间 */
  beginTime: string
  /** 结束占用时间 */
  endTime: string
  carBrand: string
  carPlat: string
  carSeries: string
  carType: string
  cityName: string
  commend: string
  createTime: string
  /** 电流（充电中展示) */
  current: number
  /** 优惠金额 */
  cutMoney: number
  /** 优惠后的金额 */
  discountM: number
  /** 充电量（度） */
  electric: number
  /** 充完电量比例 */
  electricEnd: number
  /** 电费 */
  electricFee: number
  /** 充前电量比例 */
  electricStart: number
  /** 停止码 */
  endCode: string
  /** 停车位免费时长 */
  freeTime: number
  /** 订单号 */
  id: string
  /** 评价时间 */
  judgeTime: string
  /** 额定功率 */
  kw: number
  nickname: string
  /** 结算方式 */
  payType: OccupyOrderPayType
  /** 付款截止日期 */
  paymentDeadline: string
  /** 评价图片, 逗号分隔 */
  pics: string
  /** 实付金额 */
  realPay: number
  /** 回复评论内容 */
  reply: string
  score: number
  serviceFee: number
  stationName: string
  status: OccupyOrderStatus
  stubId: string
  /** 用户头像 */
  userImg: string
  /** 电压（充电中展示） */
  voltage: number
  infoType: OccupyOrderInfoType
  telephone: string
  socBegin: number
  socEnd: number
  orgName: string
  paymentTime: string
  /** 充电订单 ID */
  chargeOrderId: string
}

export async function queryOccupyOrderList(params: QueryOccupyOrderListParams) {
  return request<OccupyOrder[]>('/app/manager/occupy/list', {
    data: params,
  })
}
